Skip to content

Conversation

rezib
Copy link
Collaborator

@rezib rezib commented Sep 9, 2025

This commit introduces the graph modules with class to handle a graph of reverse dependencies between packages in a Rift project.

When a package is built, especially when its version has changed, it is important to verify that it does not break build and tests of other packages that depends on it (aka. reverse dependencies).

With this new feature, as soon as dependency_tracking option is enabled in project configuration, the graph of reverse dependencies is automatically created with rift build and validate actions, unless --skip-deps option is set on command line. Dependencies are either found in packages info.yaml metadata file or by parsing subpackages (including their provides) and build requirements out of RPM spec files as a fallback.

Rift then solves the reverse dependencies of the packages provided by users with build and validate actions to determine the packages that should be rebuilt or validated consequently.

Unit tests are added to validate the code introduced for this feature.

This commit introduces the graph modules with class to handle a graph of
reverse dependencies between packages in a Rift project.

When a package is built, especially when its version has changed, it is
important to verify that it does not break build and tests of other
packages that depends on it (aka. reverse dependencies).

With this new feature, as soon as dependency_tracking option is enabled
in project configuration, the graph of reverse dependencies is
automatically created with rift build and validate actions, unless
--skip-deps option is set on command line. Dependencies are either found
in packages info.yaml metadata file or by parsing subpackages (including
their provides) and build requirements out of RPM spec files as a
fallback.

Rift then solves the reverse dependencies of the packages provided by
users with build and validate actions to determine the packages that
should be rebuilt or validated consequently.

Unit tests are added to validate the code introduced for this feature.
@rezib rezib requested review from qa-cea and valeriyoann and removed request for qa-cea September 9, 2025 09:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant